package cn.tedu.api;
/**本类用于练习String的创建和常用方法*/
public class TestString {
    public static void main(String[] args) {
        //创建方式一
        /**1.字符串底层维护的是char [],存放在堆中*/
        char[] value={'a','b','c'};
        String s1=new String(value);
        String s11=new String(value);
        //创建方式二
        /**2.此种方式创建底层也会new String(),存放在堆中常量池，效率高*/
        String s2="abc";
        String s22="abc";
        String s3="aaa";
        System.out.println(s1 == s2);//false
        System.out.println(s1 == s11);//false
        System.out.println(s2 == s22);//true
        System.out.println(s2 == s3);//false
        /**3.双等比较的是两个对象的地址值
         * Object类中equals()默认实现比较的也是==地址比较
         * 单String类重写了此方法，不再比较地址值，而是两个串的具体内容
         * 也就是说，不论比较方式，是要串的内容一致，equals()就返回true*/
        System.out.println(s1.equals(s2));//true
        System.out.println(s1.equals(s11));//true
        System.out.println(s2.equals(s3));//false
    }
}
